package com.yans.interfaces
{
	import flash.utils.ByteArray;

	public interface IFileManager
	{
		/**
		 *	写入文件 
		 * @param fileName	文件路径
		 * @param byteArray	二进制数组
		 * @param overWrite	覆盖(默认)
		 * 
		 */		
		function writeFile(fileName:String, byteArray:ByteArray, overWrite:Boolean = true, isCompress:Boolean = false):void;
		
		/**
		 *	读取文件 
		 * @param fileName	文件路径
		 * @param callBack	回调方法
		 * @param isCompress是否压缩
		 * 
		 */		
		function readFile(fileName:String, callBack:Function, isCompress:Boolean = false):void;
		
		/**
		 *	写入文本文件 
		 * @param fileName	文件路径 
		 * @param String	内容
		 * @param overWrite	覆盖(默认)
		 * 
		 */		
		function writeTextFile(fileName:String, text:String, overWrite:Boolean = true):void;
		
		/**
		 *	读取文本文件 
		 * @param fileName	文件路径 
		 * @param callBack	内容
		 * @param isCompress是否压缩
		 * 
		 */		
		function readTextFile(fileName:String, callBack:Function, isCompress:Boolean = false):void;
		
		/**
		 *	获取XML内容 
		 * @param asset	资源类型
		 * @return 	XML文件
		 * 
		 */		
		function createXML(asset:Class):XML;
		
		/**
		 *	文本转二进制 
		 * @param str	文本
		 * @return 	二进制数组
		 * 
		 */		
		function text2ByteArray(str:String):ByteArray;
		
		/**
		 *	二进制数组转文本
		 * @param bytArr	二进制数组
		 * @return 	文本 
		 * 
		 */		
		function byteArray2Text(bytArr:ByteArray):String;
		/**
		 *	获取一个文件路径 
		 * @param call 回调
		 * 
		 */		
		function browseFileForSave(call:Function):void;
		/**
		 *	打开一个文件 
		 * @param call 回调
		 * 
		 */		
		function browseFileForOpen(call:Function):void;
		/**
		 *	获取一个目录路径  
		 * @param call 回调
		 * 
		 */		
		function browseDicrctoryForSave(call:Function):void;
		/**
		 *	打开多个文件 
		 * @param call 回调
		 * 
		 */		
		function browseMutileFileForOpen(call:Function):void;
	}
}